perm filename TEST3[NET,KMC] blob
sn#166717 filedate 1975-07-02 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00003 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 BEGIN % THIS FILE HAS INTENT ROUTINES %
C00011 00003
C00027 ENDMK
C⊗;
BEGIN % THIS FILE HAS INTENT ROUTINES %
SPECIAL OLDGIBB, OLDMISS, LOWMAN, TRACEVFLAG;
NEW ?!ANAPHLISTNEW;
SPECIAL ACTION, ONEDIA, SUMEX;
NEW ACTION, ONEDIA, SUMEX;
SPECIAL EXPERIMENT;
DEFINE CAR PREFIX α, CDR PREFIX β, PROG2 ⊃ 3 3, CONS ↓ 86 83,
THEN →, ELSE \, CARN PREFIX, CHOOSE PREFIX, BL PREFIX, NUMED PREFIX;
EXPR INF(A); % INITIALIZATION ROUTINE %
BEGIN NEW B,VA;
ALLOWRUN();
INPUTFILE←A; LAMDA←8; NOTSAVED←'NDIA;
INITFN 'EXIT;
ANALYZE(NIL);
GCGAG(NIL);
RUNTIM(NIL);
VA ← (B←GETPPN()) & (B SEQ " VAKMC");
IF NOT VA THEN INITPARAMS() ALSO INIT();
IF VA THEN INITPARAMS1() ALSO INITPARAMS2() ALSO INIT();
IF SAVE_FILE THEN INIT_FILE( (IF VA THEN 'VAHOSP) CAT
", TRACEV = " CAT TRACEV CAT ", WINDOWS = "
CAT WINDOWS CAT ", PARANOIA = "
CAT (IF WEAK THEN 'WEAK ELSE IF HURT=0 THEN 'MILD ELSE 'STRONG) );
IF WINDOWS THEN WININIT();
PARRY();
END;
EXPR EXPERIMENT(); % EXPERIMENTS OF RAISING AND LOWERING SHAME %
BEGIN NEW A;
IF NOT EXPERIMENT | (EXPERIMENT='SEVEN) THEN RETURN NIL;
IF NOT (L='SEVEN) THEN RETURN NIL;
IF NOT (M='EIGHT) THEN RETURN NIL;
IF INPUTNO=7 THEN HURT←HURT+5;
IF INPUTNO=17 THEN HURT←HURT-5;
END;
EXPR TWINDOW(N,FLAG,L); % PRINTS OUT WINDOW STUFF FOR A TELETYPE %
BEGIN NEW A;
A←ASSOC ( N, '( ( 2 . "Input: " )
( 3 . "Respelled: " )
( 4 . "Canonical form: " )
( 5 . "Segmented: " )
( 7 . "Simple patterns: " )
( 9 . "Result: " )
( 33 . "Preprocess: " )
( 36 . "Inferences succeeded: " )
( 37 . "New beliefs: " )
( 40 . "Emotions: " )
( 42 . "Intentions: " )
( 44 . "Action: " ) ) );
IF A & (FLAG | L | M ) THEN PRINC CDR A ALSO PRINTSTR L;
IF A & ((N=88) | (N=9) | (N=36) | (N=42)) THEN PRINC CDR A ALSO PRINTSTR L;
IF A & (FLAG | (N=9) | (N=36) | (N=42)) THEN PRINC CDR A ALSO PRINTSTR L;
END;
EXPR TIMESTAT(); % THIS KEEPS THE TIME FOR NET AND NONNET JOBS %
< IF LOWMAN THEN 'NET ELSE 'NONNET, RUNTIM(T) > ;
EXPR GOODGUYS(A); T;
EXPR GOODPPN();
BEGIN NEW A; A←GETPPN(); A←SUBSTR(A,4,3);
RETURN ( SEQ(A,"BLF") OR SEQ(A,"KMC") OR SEQ(A,"RCP") ) ;
END;
EXPR KEN();
BEGIN NEW A; A←GETPPN(); A←SUBSTR(A,4,3); RETURN SEQ(A,"KMC");
END;
EXPR ERROR(MESS,L);
?!ERROR← ERROR_FILE( <MESS,L,PM2INPUT,PMINPUT,FILE1,BUG> ) CONS ?!ERROR;
% ***** THIS ONE IGNORED AS OF MAR 24, 75
EXPR ALLOWRUN2();
BEGIN NEW HOUR,A,L,FILCHAN,NUM,FLAG,BAD,H; SPECIAL TRACEVFLAG;
TRACEVFLAG←NIL;
FILCHAN←EVAL<'INPUT,'(PAR BLF),'QPARRY>;
INC(FILCHAN,NIL);
H←READ(); IF H THEN PRINTSTR(H);
IF GOODPPN() OR ( NOT PTYJOB() AND NOT REMOTE() ) THEN INC(NIL,T) ALSO RETURN T;
NUM←READ(); FLAG←READ(); H←READ();
L←NIL; WHILE A←READ() DO L←A CONS L;
INC(NIL,T); BAD←MEMQ(AT GETNET(),L);
A←TIMEUUH(); HOUR←αA;
IF (9≤HOUR) & (HOUR≤16) AND NOT MEMQ(αβββDATE(0), '(SATURDAY SUNDAY)) THEN
IF NOT FLAG OR BAD OR ( NOT H AND SEQ(GETNET(),"100100") ) THEN SWAPNO();
IF NAMEIN() ≥ NUM THEN SWAPNO();
TRACEVFLAG← EQ(FLAG,'ALL);
END;
EXPR REMOTE();
BEGIN NEW A; A ← LSH( LSH(TTYUU(),18), -18 );
RETURN ( (A=8) OR (A=9) OR (A=14) );
END;
***** THIS ONE IGNORED AS OF MAR 24, 75 ****** THRU HERE %
EXPR MEASURE(L,M); % USED IN INFERENCES TO MEASURE QUANTITIES %
IF NUMBERP(L) & NUMBERP(M) THEN GREATERP(L,M) ELSE EQ(L,M);
EXPR GN(); BEGIN GCGAG(NIL); INITFN 'GN2; END;
EXPR GN2(); INF( 'PDATZ ); % THE ROUTINE THAT INITFN STARTS UP %
EXPR INITPARAMS1(); % INITIALIZE PARAMS FOR VA INTERVIEWS %
BEGIN SUPPRESS←T; WEAK←NIL;
ANGER←ANGER0←FEAR←FEAR0←MISTRUST←MISTRUST0←HURT←HURT0←0;
TRACEV←NIL; SAVE_FILE←T;
END;
EXPR ANDDO(L,M); L;
EXPR WINDOW(N,F,L);
BEGIN IF TRACEV='ALL THEN TWINDOW(N,F,L); RETURN L; END;
EXPR WINDOWSET(N); N;
EXPR WINDOW_PRINT(A,B,C,D); NIL;
EXPR SWEARER(); % SEMANTIC FUNCTION CALLED BY SWEAR INPUT %
BEGIN SWEARNO←SWEARNO+1; AJUMP←3;
IF SWEARNO=5 THEN ENDE←T ALSO RETURN CHOOSE 'MADEXIT;
END;
EXPR SUMEX1();
% THIS ROUTINE SETS UP A WORKING VERSION OF PARRY WHICH WILL ALMOST RUN ON SUMEX %
BEGIN
INITFN(NIL);
% INCORE(); % % SETS A FLAG SO .DMP FILES WONT CLOBBER EACH OTHER %
SYNNYM('A); % READS IN SYNNYM.PAR %
SPAT('(A)); % READS IN SPATS.PAR %
CPAT('(A)); % READS IN CPATS.PAR %
DSKLOC('A); % READS IN PDATX.PAR %
ONEDIA←T; SUMEX←T; TRACEVFLAG←NIL;
PUTPROP('ALLOWRUN, '(LAMBDA NIL T), 'EXPR);
PUTPROP('SWAPP, '(LAMBDA NIL T), 'EXPR);
INITFN 'GN2;
END;
EXPR SUMEX2();
BEGIN TRACE(SUMEX1); UNTRACE(SUMEX1);
DIAFILEAREA←INPUTFILEAREA←'(FAU GHT);
END;
EXPR ZERONIL(L); IF NOT L THEN 0 ELSE L;
EXPR INTENTION(); % CALCULATES THE CURRENT INTENTION %
BEGIN NEW A;
FOR NEW I IN INTLIST DO IF GET0(I,'NTRUTH)≥5 THEN A←WINDOW(42,NIL,I);
IF NOT INTENT | (A='PEXIT) | (A='PEXIT2) THEN INTENT←A;
WINDOW(42,NIL, " : " CAT INTENT);
END;
% DOINTENT PERFORMS THE CURRENT INTENTION, CALCULATES AN ACTION, AND RETURNS A λ %
% CHECKS INTENTS, RETURNS NEW VALUE FOR FOUND IN REACT, ELSE NIL %
EXPR PMAFIA();
(IF FEAR≥10 THEN CHOOSE 'PANIC ELSE
IF BL 'DGAMES THEN NIL ANDDO (ANGER←ANGER-3)
ELSE CHOOSE 'PROBE) ANDDO ADDTO('PMAFIA,-2);
EXPR PHELP(); IF DELFLAG THEN ADDTO('PTELL,5)
ELSE ( IF FLARE='INIT &
( GET(STRUC,'UNIT) | NOT REACTTO | ('LEADIN=GET(REACTTO,'CLASS)) )
THEN ADDTO('PHELP,-5) ALSO FLARELEAD(CHOOSELEAD()) ) ;
EXPR LULL(); % RETURNS T IF THERE IS A LULL IN THE CONVERSATION %
% IF MISC IS USED AND LULL(), THEN WILL JUMP BACK TO FLARES OR DELNS %
IF OLDTOPIC='ANAPH OR OLDTOPIC='IYOUME THEN T
ELSE IF LENGTH(SSENT)≥10 THEN NIL
ELSE EQ(1, RANDOM(2));
EXPR PARANOIA();
BEGIN NEW A;
ASSERT('?*DTRUSTWORTHY);
FOR NEW I IN PARBEL DO IF MEMQ(I,'(LYING LOSER CRAZY DUMB))
THEN ADDTO(I,-1) ALSO A←I;
IF A THEN A←ASSOC(A,
'( (LYING . ?*DHONEST)(LOSER . ?*DSOCIABLE)(CRAZY . DABNORMAL) (DUMB . ?*DCHELP) ))
ALSO ASSERT(βA);
PARBEL←NIL;
END;
END.